package com.project.mapper;

import com.project.bean.CutPageBean;
import com.project.bean.FacilityBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IFacilityMapper {
    /**
     * 添加设施记录 并更新房间状态
     *
     * @param facility 设施对象
     * @param roomId   房间编号
     */
    void add(@Param("facility") FacilityBean facility, @Param("roomId") Integer roomId);

    /**
     * 1、处理损坏设施 将指定编号设施设置为已处理
     * 2、统计该房间中，“未处理”设施的数量
     * 3、如果数量为0，书名房间中没有损坏设施，将房间状态修改为“正常”
     * 4、如果数量不为0房间状态继续是设施损坏
     * 并更新房间状态为设施损坏
     *
     * @param facilityId 设施编号
     * @param roomId     房间编号
     */
    void press(@Param("facilityId") Integer facilityId, @Param("roomId") Integer roomId);


    /**
     * 动态查询当前页设施记录
     *
     * @param start    起始位置
     * @param pageSize 页码范围
     * @param roomId   房间编号
     * @param solved   处理状态
     * @return 当前页对象集合
     */
    List<FacilityBean> cutByItemList(@Param("start") int start, @Param("pageSize") int pageSize,
                                     @Param("roomId") Integer roomId,@Param("solved") String solved);

    /**
     * 动态查询总设施记录数
     *
     * @param roomId 房间编号
     * @param solved   处理状态
     * @return 总记录数
     */
    int getTotalByItem(@Param("roomId") Integer roomId,@Param("solved") String solved);
}
